STAAD.Pro Help

OS. Visual Basicの規約

コメント

Visual BasicまたはVisual Basic for Applicationsでは、コメントを示すためにアポストロフィ(')が使用されます。アポストロフィの右側にある内容は、プログラムによってすべて無視されます。

ヒント: このドキュメントでは、コメントを残りのコードと視覚的に区別できるように、これらを緑色で示してあります。

配列の宣言

VBまたはVBAでは、配列を宣言する方法に柔軟性があります。この参照マニュアルの配列を含むほとんどの例は、C++のゼロインデックスの規約に準拠しています。6つの値の配列では、配列内の位置は0~5で示されます。したがって、6つの値の配列は次のように宣言されます。

Dim pdArray(5) As Double

または

Dim pdArray(0 To 5) As Double

VBでは、6つの値の配列を次のように宣言することもできます。

Dim pdArray(1 To 6) As Double

ただし、このようにすると、配列内のさまざまな位置にアクセスするために使用されるループやその他のステートメントがC++で正しく機能しなくなる可能性があります。

行継続文字

長いコード文は、コードを読みやすくするために複数行に記述することができます。VBの行継続文字は、行末のスペースとそれに続く下線で構成されます。継続文字の下のコード行は、行継続文字と同じ行に記述されたものとして処理されます。

関数とサブルーチン

関数とサブルーチンはどの言語でも同様のアクションを実行しますが、OpenSTAADマクロの記述を容易にするために重要な違いを理解することが重要です。関数は、それを呼び出した関数またはルーチンに値を返すことができます。一方、サブルーチンは値を直接返しません。代わりに、サブルーチンでは内部でByRef手法を使用する必要があります。OpenSTAADの関数の多くは、それを使用して単一の関数で複数の値を返せるようになっています。これは非常に強力な機能ですが、VB構文での括弧の使用方法を考えると、混乱を招く可能性があります。VB構文では、サブルーチンに渡される値を括弧で囲むことはありません。VBでは、それらは関数に対してのみ使用されます。

したがって、OpenSTAADでモデル入力、解析結果、または設計結果から複数の値を返すために使用されるサブルーチンでは、サブルーチンの構文を使用する必要があります。

注記: これはVB構文の結果というだけで、それらのOpenSTAAD関数の動作が異なるわけではないため、ドキュメントではそれらをすべて「関数」と呼んでいます。
ヒント: ただし、多くの場合、このような関数で渡されるデータは配列の形式であり、それらの次元を示すために括弧(スペースなし)が使用されます

objOpenSTAAD.GetNodeDisplacements  nNodeNo, nLC, pdDisps(0)
'The line of code above may also be written as the line shown below:
                
objOpenSTAAD.GetNodeDisplacements _
nNodeNo, nLC, pdDisps(0)